Theory and Practice of Higher-type Computation (Tutorial)
نویسنده
چکیده
In higher-type computation, established by Kleene and Kreisel in the late 1950’s (independently), one works with the data types obtained from the discrete natural numbers by closing under finite products and function spaces. For the theory of higher-type programming languages, it is natural to work with a corresponding hierarchy, or type structure, of domains, identified by Ershov and Scott in the late 1960’s (again independently). The Kleene–Kreisel and Ershov– Scott hierarchies account for total and partial computation respectively. In this tutorial I’ll explain the theory and practice of higher-type computation and programming languages, and develop old and new applications. From a theoretical point of view, I’ll present Kleene–Kreisel spaces and Ershov–Scott domains, and relate the two. Moreover, I’ll discuss common generalizations, chiefly QCB spaces and equilogical spaces, which admit further useful closure properties, and their relationship to TTE (Schröder, Simpson. Scott, Bauer, Weihrauch and many others). I’ll also present a natural highertype model of computation/programming language, namely PCF (Platek, Scott, Plotkin). From a practical point of view, I’ll introduce a fragment of the language Haskell as a faithful implementation of PCF. Moreover, I’ll develop and run several examples (and prove theorems about them), pertaining to (i) exhaustive search of infinite sets in finite time (in particular Ulrich Berger’s algorithm and generalizations), and (ii) computation with real numbers (in particular Alex Simpson’s integration algorithm and generalizations).
منابع مشابه
Development and Usability Evaluation of an Online Tutorial for “How to Write a Proposal” for Medical Sciences Students
Background and Objective: Considering the importance of learning how to write a proposal for students, this study was performed to develop an online tutorial for “How to write a Proposal” for students and to evaluate its usability. Methods: This study is a developmental research and tool design. “Gamified Online Tutorial based on Self-Determination Theory (GOT-STD) Framework" became the basis f...
متن کاملA tutorial on Quasi-experimental designs
A main step in answering a scientific hypothesis in an epidemiological study is deciding which type of study is suitable to be undertaken, considering methodology, practical considerations and budget and time limitations
متن کاملWorksheet for ICTIR 2013 Tutorial on Significance Testing in Information Retrieval in Practice and in Theory
This is a worksheet to accompany the slides for my ICTIR 2013 tutorial. It is meant to explain how to perform standard significance tests in R and how to use simulation to investigate tests more deeply. My hope is that the reader that follows along will reach the same conclusion that I did: that there are so many factors that can affect the computation of a p-value, and so many of those that do...
متن کاملComparison of efficiency management training using lecturing and small group teaching on learning rate of Nursing and Midwifery student’s
Abstract Introduction: Teaching principles of management is important because it empowers the students in the field of midwifery and nursing. This aspect would improve the quality of care in health system significantly. Therefore, achieving the potential teaching method is great importance. This strategy involves techniques to facilitate the learning process and growth critical thinking in s...
متن کاملComputer Verified Exact Analysis (Tutorial)
This tutorial will illustrate how to use the Coq proof assistant to implement effective and provably correct computation for analysis. Coq provides a dependently typed functional programming language that allows users to specify both programs and formal proofs. We will introduce dependent type theory and show how it can be used to develop both mathematics and programming. We will show how to us...
متن کامل